home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-26 | 1.3 KB | 42 lines | [TEXT/CWIE] |
-
- // mail <chelly@eden.com> or surf http://www.eden.com/~chelly for feedback
- // free source code - do whatever you like with it
-
- // byte swapping to deal with big endian and little endian processors
-
- #ifndef byteorder_H
- #define byteorder_H
-
- #include "common.h"
-
- #if TARGET_IS_MACOS
-
- inline uint16 SwapIfRequired( uint16 v ) { return v; }
- inline int16 SwapIfRequired( int16 v ) { return v; }
- inline uint32 SwapIfRequired( uint32 v ) { return v; }
- inline int32 SwapIfRequired( int32 v ) { return v; }
-
- inline void SwapIfRequired( uint16* ) { }
- inline void SwapIfRequired( int16* ) { }
- inline void SwapIfRequired( uint32* ) { }
- inline void SwapIfRequired( int32* ) { }
-
- #elif TARGET_IS_WIN95
-
- inline uint16 SwapIfRequired( uint16 v ) { return (v >> 8) | (v << 8); }
- inline int16 SwapIfRequired( int16 v ) { return SwapIfRequired( (uint16) v ); }
- inline uint32 SwapIfRequired( uint32 v )
- { return (v >> 24) | (v << 24) | ((v >> 8) & 0xFF00) | ((v << 8) & 0xFF0000); }
- inline int32 SwapIfRequired( int32 v ) { return SwapIfRequired( (uint32) v ); }
-
- inline void SwapIfRequired( uint16* p ) { *p = SwapIfRequired( *p ); }
- inline void SwapIfRequired( int16* p ) { *p = SwapIfRequired( *p ); }
- inline void SwapIfRequired( uint32* p ) { *p = SwapIfRequired( *p ); }
- inline void SwapIfRequired( int32* p ) { *p = SwapIfRequired( *p ); }
-
- #endif
-
-
- #endif
-
-